|
(*~\Глагол\Отделы\Поле~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(**) ОТДЕЛ Кнопка;
(*============================================================================*
* НАЗНАЧЕНИЕ: кнопка - потомок надела
*============================================================================*)
ИСПОЛЬЗУЕТ
Надел,
Поле,
Ввод ИЗ "..\Обмен\";
ВИД
Доступ-=ДОСТУП К Вид;
Вид-=НАБОР(Надел.Вид)
надпись:Надел.Надпись;
буквица:ЦЕЛ;
действие-:ЦЕЛ
КОН;
Посылка-=НАБОР(Ввод.Посылка)
кнопка:Доступ
КОН;
(******************************************************************************)
ЗАДАЧА Работа(кнопка:Доступ);
ПЕР
посылка:Посылка;
поле:Поле.Доступ;
УКАЗ
(* обратная связь *)
поле:=кнопка.поле(Поле.Доступ);
посылка.кнопка:=кнопка;
поле.Приём(поле,посылка)
КОН Работа;
(******************************************************************************)
ЗАДАЧА Приём(надел:Надел.Доступ; посылка+:Ввод.Посылка);
ПЕР
кнопка:Доступ;
УКАЗ
кнопка:=надел(Доступ);
ДЛЯ посылка ВИДА
| Поле.Отрисовка:
Надел.ВыводНадписи(кнопка,кнопка.надпись,0)
| Ввод.ОтМышки:
ЕСЛИ посылка.события = {} ТО (* просто нажали кнопку мышки *)
Работа(кнопка)
КОН
| Ввод.ОтКлавиш:
ЕСЛИ (посылка.знак = ' ') ИЛИ (посылка.знак = 0DX) ТО
Работа(кнопка);
посылка.код:=0
КОН
| Поле.Буквица:
ЕСЛИ посылка.буквица = кнопка.буквица ТО
Работа(кнопка);
посылка.буквица:=0
КОН
ИНАЧЕ
КОН
КОН Приём;
(******************************************************************************)
ЗАДАЧА Создать-(верх,лево:ЦЕЛ; надпись-:ЦЕПЬ; действие:ЦЕЛ; выбираемая:КЛЮЧ):Доступ;
ПЕР
кнопка:Доступ;
колонок:ЦЕЛ;
признаки:МНОЖ;
УКАЗ
СОЗДАТЬ(кнопка);
Надел.СчитатьНадпись(надпись,кнопка.надпись,колонок,кнопка.буквица);
ЕСЛИ выбираемая ТО
признаки:={Надел.прВыбираемый}
ИНАЧЕ
признаки:={}
КОН;
Надел.Подготовить(кнопка,верх,лево,1,колонок,признаки,Приём);
кнопка.действие:=действие;
кнопка.цветНадписи[Надел.сВыбран]:=Надел.цВыбраннойКнопки;
кнопка.цветБуквицы[Надел.сВыбран]:=Надел.цБуквицыВыбраннойКнопки;
ВОЗВРАТ кнопка
КОН Создать;
КОН Кнопка.
|
|